/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package user;

import ejb.GestoreStudenteLocal;
import java.util.Date;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import jpa.CredenzialiUtente;
import jpa.Studente;

/**
 *
 * @author Administrator
 */
@ManagedBean(name="Registrazione")
@RequestScoped
public class Registrazione {

    @EJB
    GestoreStudenteLocal gs;

    private String citta;
    private String via;
    private String cap;
    private String telefono;
    private String provincia;
    private String cognome;
    private Double quotaIscrizione;
    private String codiceFiscale;
    private String email;
    private String cel;
    private Date dataIscrizione;
    private String nome;
    private String username;
    private String password;
    private String confermaPassword;
    private String message;
    private String message2;

    /** Creates a new instance of Registrazione */
    public Registrazione() {
    }

    public String getMessage2() {
        return message2;
    }

    public void setMessage2(String message2) {
        this.message2 = message2;
    }

    public void setCap(String cap) {
        this.cap = cap;
    }

    public void setCel(String cel) {
        this.cel = cel;
    }

    public void setCitta(String citta) {
        this.citta = citta;
    }

    public void setCodiceFiscale(String codiceFiscale) {
        this.codiceFiscale = codiceFiscale;
    }

    public void setCognome(String cognome) {
        this.cognome = cognome;
    }

    public void setDataIscrizione(Date dataIscrizione) {
        this.dataIscrizione = dataIscrizione;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public void setConfermaPassword(String confermaPassword) {
        this.confermaPassword = confermaPassword;
    }

    public String getConfermaPassword() {
        return confermaPassword;
    }

    

    public void setPassword(String password) {
        this.password = password;
    }

    public void setProvincia(String provincia) {
        this.provincia = provincia;
    }

    public void setQuotaIscrizione(Double quotaIscrizione) {
        this.quotaIscrizione = quotaIscrizione;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public void setVia(String via) {
        this.via = via;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getMessage() {
        return message;
    }

    

    public String getCap() {
        return cap;
    }

    public String getCel() {
        return cel;
    }

    public String getCitta() {
        return citta;
    }

    public String getCodiceFiscale() {
        return codiceFiscale;
    }

    public String getCognome() {
        return cognome;
    }

    public Date getDataIscrizione() {
        return dataIscrizione;
    }

    public String getEmail() {
        return email;
    }

    public String getNome() {
        return nome;
    }

    public String getPassword() {
        return password;
    }

    public String getProvincia() {
        return provincia;
    }

    public Double getQuotaIscrizione() {
        return quotaIscrizione;
    }

    public String getTelefono() {
        return telefono;
    }

    public String getUsername() {
        return username;
    }

    public String getVia() {
        return via;
    }


    public String registra(){
        CredenzialiUtente cu = new CredenzialiUtente();
        cu.setPassword(password);
        cu.setUsername(username);
        if(gs.controllaUsername(cu)!=null){
            message2 = "Username già utilizzata da un altro Utente";
            return "errore";
        }
        if(! password.equals(confermaPassword)){
            message2 = "Errore le password non coincidono";
            return "errore";
        }else{
            message = "";
        }
        Studente s = new Studente();
        s.setCap(cap);
        s.setCel(cel);
        s.setCitta(citta);
        s.setCodiceFiscale(codiceFiscale);
        s.setCognome(cognome);
        dataIscrizione = new Date();
        s.setDataIscrizione(dataIscrizione);
        s.setEmail(email);
        s.setNome(nome);
        s.setProvincia(provincia);
        s.setTelefono(telefono);
        s.setVia(via);
        boolean reg = gs.registra(cu, s);
        if(reg == false){
            message = "Errore nella registrazione dell'utente nel database";
            return "errore";
        }
        message = "Registrazione dell'utente effettuata correttamente";
        return "RegistrazioneOK";
    }

}
